package com.gl.saasservice.house.entity;

import javax.persistence.*;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 公租房表
 */
@Entity
@Table(name = "saas_house")
public class House {

    @Id
    @Basic
    @Column(name = "id", nullable = true)
    private String id; //

    @Basic
    @Column(name = "org_id", nullable = true)
    private Long orgId; //组织id

    @Basic
    @Column(name = "province_id", nullable = true)
    private Long provinceId; //省

    @Basic
    @Column(name = "city_id", nullable = true)
    private Long cityId; //市

    @Basic
    @Column(name = "district_id", nullable = true)
    private Long districtId; //区

    @Basic
    @Column(name = "street_id", nullable = true)
    private Long streetId; //街道

    @Basic
    @Column(name = "community_id", nullable = true)
    private Long communityId; //社区

    @Basic
    @Column(name = "address", nullable = true)
    private String address; //地址

    @Basic
    @Column(name = "residence_community_id", nullable = true)
    private String residenceCommunityId; //小区id

    @Basic
    @Column(name = "residence_community_name", nullable = true)
    private String residenceCommunityName; //小区名称

    @Basic
    @Column(name = "building_num", nullable = true)
    private Long buildingNum; //楼栋

    @Basic
    @Column(name = "unit", nullable = true)
    private Long unit; //单元

    @Basic
    @Column(name = "room_number", nullable = true)
    private String roomNumber; //房号

    @Basic
    @Column(name = "floor", nullable = true)
    private Integer floor; //楼层

    @Basic
    @Column(name = "area", nullable = true)
    private BigDecimal area; //面积

    @Basic
    @Column(name = "room", nullable = true)
    private Integer room; //室

    @Basic
    @Column(name = "hall", nullable = true)
    private Integer hall; //厅

    @Basic
    @Column(name = "toilet", nullable = true)
    private Integer toilet; //卫

    @Basic
    @Column(name = "house_nature", nullable = true)
    private Integer houseNature; //性质:1公租房、2廉租房、3商品房、4经济适用房、5其它

    @Basic
    @Column(name = "house_property_id", nullable = true)
    private Long housePropertyId; //所属物业

    @Basic
    @Column(name = "audit_status", nullable = true)
    private Integer auditStatus; //房源审核状态:0未审核 1已审核

    @Basic
    @Column(name = "bind_status", nullable = true)
    private Integer bindStatus; //产权人绑定状态:0未绑定 1绑定

    @Basic
    @Column(name = "decorate_type", nullable = true)
    private Integer decorateType; //装修类型：0毛坯 1简装 2精装(带家具） 3豪装(带家具)

    @Basic
    @Column(name = "match_status", nullable = true)
    private Integer matchStatus; //配租状态：0未配租 1可配租 2已配租

    @Basic
    @Column(name = "lease_status", nullable = true)
    private Integer leaseStatus; //出租状态：0未出租 1已出租

    @Basic
    @Column(name = "contract_status", nullable = true)
    private Integer contractStatus; //合同状态：0未签订 1已签订

    @Basic
    @Column(name = "payment_status", nullable = true)
    private Integer paymentStatus; //

    @Basic
    @Column(name = "record_status", nullable = true)
    private Integer recordStatus; //备案状态：0未备案 1已备案

    @Basic
    @Column(name = "pwd_lock_status", nullable = true)
    private Integer pwdLockStatus; //密码锁授权：0未授权 1已授权 4已冻结

    @Basic
    @Column(name = "check_status", nullable = true)
    private Integer checkStatus; //核查状态：0未核查、1已核查

    @Basic
    @Column(name = "contract_number", nullable = true)
    private String contractNumber; //

    @Basic
    @Column(name = "operation_id", nullable = true)
    private String operationId; //录入人id

    @Basic
    @Column(name = "create_time", nullable = true)
    private Date createTime; //创建时间

    @Basic
    @Column(name = "owner_type" ,nullable = true)
    private Integer ownerType; //产权归属类型：1产权单位  2个人

    /*
     *产权所有人姓名
     */
    @Basic
    @Column(name = "owner_name", nullable = true)
    private String  ownerName;

    /*
     *产权所有人电话
     */
    @Basic
    @Column(name = "owner_mobile", nullable = true)
    private String  ownerMobile;

    /*
     *产权所有人id ：根据电话号码匹配用户
     */
    @Basic
    @Column(name = "owner_user_id", nullable = true)
    private String  ownerUserId;

    /*
     *收费开始日期
     */
    @Basic
    @Column(name = "start_time", nullable = true)
    private Date startTime;

    /*
     *水表号
     */
    @Basic
    @Column(name = "water_meter", nullable = true)
    private String  waterMeter;

    /*
     *电表号
     */
    @Basic
    @Column(name = "electric_meter", nullable = true)
    private String  electricMeter;

    /*
     *燃气表号
     */
    @Basic
    @Column(name = "gas_meter", nullable = true)
    private String  gasMeter;

    /*
     *状态：1正常 2已删除
     */
    @Basic
    @Column(name = "status", nullable = true)
    private Integer  status;
    /*
     * 单位承租人Id
     */
    @Basic
    @Column(name = "unit_lessee_id", nullable = true)
    private Long unitLesseeId;

    /*
     * 合租房屋Id
     */
    @Basic
    @Column(name = "housemate_id", nullable = true)
    private String housemateId;

    public Integer getOwnerType() {
        return ownerType;
    }

    public void setOwnerType(Integer ownerType) {
        this.ownerType = ownerType;
    }

    public String getOwnerName() {
        return ownerName;
    }

    public void setOwnerName(String ownerName) {
        this.ownerName = ownerName;
    }

    public String getOwnerMobile() {
        return ownerMobile;
    }

    public void setOwnerMobile(String ownerMobile) {
        this.ownerMobile = ownerMobile;
    }

    public String getOwnerUserId() {
        return ownerUserId;
    }

    public void setOwnerUserId(String ownerUserId) {
        this.ownerUserId = ownerUserId;
    }

    public Date getStartTime() {
        return startTime;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public String getWaterMeter() {
        return waterMeter;
    }

    public void setWaterMeter(String waterMeter) {
        this.waterMeter = waterMeter;
    }

    public String getElectricMeter() {
        return electricMeter;
    }

    public void setElectricMeter(String electricMeter) {
        this.electricMeter = electricMeter;
    }

    public String getGasMeter() {
        return gasMeter;
    }

    public void setGasMeter(String gasMeter) {
        this.gasMeter = gasMeter;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public Long getOrgId() {
        return orgId;
    }

    public void setOrgId(Long orgId) {
        this.orgId = orgId;
    }

    public Long getProvinceId() {
        return provinceId;
    }

    public void setProvinceId(Long provinceId) {
        this.provinceId = provinceId;
    }

    public Long getCityId() {
        return cityId;
    }

    public void setCityId(Long cityId) {
        this.cityId = cityId;
    }

    public Long getDistrictId() {
        return districtId;
    }

    public void setDistrictId(Long districtId) {
        this.districtId = districtId;
    }

    public Long getStreetId() {
        return streetId;
    }

    public void setStreetId(Long streetId) {
        this.streetId = streetId;
    }

    public Long getCommunityId() {
        return communityId;
    }

    public void setCommunityId(Long communityId) {
        this.communityId = communityId;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getResidenceCommunityId() {
        return residenceCommunityId;
    }

    public void setResidenceCommunityId(String residenceCommunityId) {
        this.residenceCommunityId = residenceCommunityId;
    }

    public String getResidenceCommunityName() {
        return residenceCommunityName;
    }

    public void setResidenceCommunityName(String residenceCommunityName) {
        this.residenceCommunityName = residenceCommunityName;
    }

    public Long getBuildingNum() {
        return buildingNum;
    }

    public void setBuildingNum(Long buildingNum) {
        this.buildingNum = buildingNum;
    }

    public Long getUnit() {
        return unit;
    }

    public void setUnit(Long unit) {
        this.unit = unit;
    }

    public String getRoomNumber() {
        return roomNumber;
    }

    public void setRoomNumber(String roomNumber) {
        this.roomNumber = roomNumber;
    }

    public Integer getFloor() {
        return floor;
    }

    public void setFloor(Integer floor) {
        this.floor = floor;
    }

    public BigDecimal getArea() {
        return area;
    }

    public void setArea(BigDecimal area) {
        this.area = area;
    }

    public Integer getRoom() {
        return room;
    }

    public void setRoom(Integer room) {
        this.room = room;
    }

    public Integer getHall() {
        return hall;
    }

    public void setHall(Integer hall) {
        this.hall = hall;
    }

    public Integer getToilet() {
        return toilet;
    }

    public void setToilet(Integer toilet) {
        this.toilet = toilet;
    }

    public Integer getHouseNature() {
        return houseNature;
    }

    public void setHouseNature(Integer houseNature) {
        this.houseNature = houseNature;
    }

    public Long getHousePropertyId() {
        return housePropertyId;
    }

    public void setHousePropertyId(Long housePropertyId) {
        this.housePropertyId = housePropertyId;
    }

    public Integer getAuditStatus() {
        return auditStatus;
    }

    public void setAuditStatus(Integer auditStatus) {
        this.auditStatus = auditStatus;
    }

    public Integer getBindStatus() {
        return bindStatus;
    }

    public void setBindStatus(Integer bindStatus) {
        this.bindStatus = bindStatus;
    }

    public Integer getDecorateType() {
        return decorateType;
    }

    public void setDecorateType(Integer decorateType) {
        this.decorateType = decorateType;
    }

    public Integer getMatchStatus() {
        return matchStatus;
    }

    public void setMatchStatus(Integer matchStatus) {
        this.matchStatus = matchStatus;
    }

    public Integer getLeaseStatus() {
        return leaseStatus;
    }

    public void setLeaseStatus(Integer leaseStatus) {
        this.leaseStatus = leaseStatus;
    }

    public Integer getContractStatus() {
        return contractStatus;
    }

    public void setContractStatus(Integer contractStatus) {
        this.contractStatus = contractStatus;
    }

    public Integer getPaymentStatus() {
        return paymentStatus;
    }

    public void setPaymentStatus(Integer paymentStatus) {
        this.paymentStatus = paymentStatus;
    }

    public Integer getRecordStatus() {
        return recordStatus;
    }

    public void setRecordStatus(Integer recordStatus) {
        this.recordStatus = recordStatus;
    }

    public Integer getPwdLockStatus() {
        return pwdLockStatus;
    }

    public void setPwdLockStatus(Integer pwdLockStatus) {
        this.pwdLockStatus = pwdLockStatus;
    }

    public Integer getCheckStatus() {
        return checkStatus;
    }

    public void setCheckStatus(Integer checkStatus) {
        this.checkStatus = checkStatus;
    }

    public String getContractNumber() {
        return contractNumber;
    }

    public void setContractNumber(String contractNumber) {
        this.contractNumber = contractNumber;
    }

    public String getOperationId() {
        return operationId;
    }

    public void setOperationId(String operationId) {
        this.operationId = operationId;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * 获取
     * @return unitLesseeId
     */
    public Long getUnitLesseeId() {
        return unitLesseeId;
    }

    /**
     * 设置
     * @param unitLesseeId
     */
    public void setUnitLesseeId(Long unitLesseeId) {
        this.unitLesseeId = unitLesseeId;
    }

    /**
     * 获取
     * @return housemateId
     */
    public String getHousemateId() {
        return housemateId;
    }

    /**
     * 设置
     * @param housemateId
     */
    public void setHousemateId(String housemateId) {
        this.housemateId = housemateId;
    }

    public String toString() {
        return "House{id = " + id + ", orgId = " + orgId + ", provinceId = " + provinceId + ", cityId = " + cityId + ", districtId = " + districtId + ", streetId = " + streetId + ", communityId = " + communityId + ", address = " + address + ", residenceCommunityId = " + residenceCommunityId + ", residenceCommunityName = " + residenceCommunityName + ", buildingNum = " + buildingNum + ", unit = " + unit + ", roomNumber = " + roomNumber + ", floor = " + floor + ", area = " + area + ", room = " + room + ", hall = " + hall + ", toilet = " + toilet + ", houseNature = " + houseNature + ", housePropertyId = " + housePropertyId + ", auditStatus = " + auditStatus + ", bindStatus = " + bindStatus + ", decorateType = " + decorateType + ", matchStatus = " + matchStatus + ", leaseStatus = " + leaseStatus + ", contractStatus = " + contractStatus + ", paymentStatus = " + paymentStatus + ", recordStatus = " + recordStatus + ", pwdLockStatus = " + pwdLockStatus + ", checkStatus = " + checkStatus + ", contractNumber = " + contractNumber + ", operationId = " + operationId + ", createTime = " + createTime + ", ownerType = " + ownerType + ", ownerName = " + ownerName + ", ownerMobile = " + ownerMobile + ", ownerUserId = " + ownerUserId + ", startTime = " + startTime + ", waterMeter = " + waterMeter + ", electricMeter = " + electricMeter + ", gasMeter = " + gasMeter + ", status = " + status + ", unitLesseeId = " + unitLesseeId + ", housemateId = " + housemateId + "}";
    }
}
